#ifndef __MAP_SEARCH_H_INCLUDE__
#define __MAP_SEARCH_H_INCLUDE__

#include "stlastar.h"

const int MAP_WIDTH		= 20;
const int MAP_HEIGHT	= 20;

class MapSearchNode
{
public:
	unsigned int x;	 // the (x,y) positions of the node
	unsigned int y;	
	
	MapSearchNode()	{ x = y = 0; }
	MapSearchNode( unsigned int px, unsigned int py ) {  x=px;  y=py; }

	float GoalDistanceEstimate( MapSearchNode &nodeGoal );
	float GetCost( MapSearchNode &successor );
	bool GetSuccessors( AStarSearch<MapSearchNode> *astarsearch, MapSearchNode *parent_node );

	bool IsGoal( MapSearchNode &nodeGoal );
	bool IsSameState( MapSearchNode &rhs );

	void PrintNodeInfo(); 
};

#endif